自己动手写CPU之第五阶段(3) 您所在的位置:网站首页 mips32 cpu 自己动手写CPU之第五阶段(3)

自己动手写CPU之第五阶段(3)

2024-07-06 21:07| 来源: 网络整理| 查看: 265

大家好,又见面了,我是全栈君。

将陆续上传本人写的新书《自己动手写CPU》(尚未出版),今天是第17篇。我尽量每周四篇

5.4 逻辑、移位操作与空指令说明

MIPS32指令集架构中定义的逻辑操作指令有8条:and、andi、or、ori、xor、xori、nor、lui。当中ori指令已经实现了,本章要实现其余7条指令。

MIPS32指令集架构中定义的移位操作指令有6条:sll、sllv、sra、srav、srl、srlv。

MIPS32指令集架构中定义的空指令有2条:nop、ssnop。

当中ssnop是一种特殊类型的空操作。在每一个周期发射多条指令的CPU中,使用ssnop指令能够确保单独占用一个发射周期。OpenMIPS设计为标量处理器,也就是每一个周期发射一条指令,所以ssnop的作用与nop同样。能够依照nop指令的处理方式来处理ssnop指令。

另外,MIPS32指令集架构中还定义了sync、pref这2条指令,当中sync指令用于保证载入、存储操作的顺序,对于OpenMIPS而言,是严格依照指令顺序运行的,载入、存储操作也是依照顺序进行的,所以能够将sync指令当作nop指令处理,在这里将其归纳为空指令。pref指令用于缓存预取,OpenMIPS没有实现缓存,所以也能够将pref指令当作nop指令处理,此处也将其归纳为空指令。

以上17条指令依照格式、作用的不用,又可分为几类,分别说明例如以下。

1、and、or、xor、nor

这4条指令的格式如图5-10所看到的。从图中能够发现这4条指令都是R类型指令。而且指令码都是6’b000000,也就是MIPS32指令集架构中定义的SPECIAL类。此外,第6-10bit都为0,须要根据指令中0-5bit功能码的值进一步推断是哪一种指令。

自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令 当功能码是6‘b100100时,表示是and指令。逻辑“与”运算

指令使用方法为:and rd, rs, rt

指令作用为:rd



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有